<?
class Rule_Length extends Rule
{
	private $min;
	private $max;
	
	function __construct($name, $min, $max=-1)
	{
		$this->name=$name;
		$this->min=$min;
		$this->max=$max;
	}
	
	function Check($hash)
	{
		if(strlen($hash[$this->name])<$this->min) 
		{
			$this->error_message = "Поле допускает не менее ".$this->min." ".pluralForm($this->min,'символа','символов','символов');
			return false;
		}
		
		if($this->max!=-1 && strlen($hash[$this->name])>$this->max) 
		{
			$len = strlen($hash[$this->name]);
			$this->error_message = "Поле допускает не более ".$this->max." ".pluralForm($this->max,'символа','символов','символов').'. Сейчас: '.$len.'.';
			return false;
		}
		
		return true;
	}
}